package task3;

public abstract class Package {
    // 每月资费
    private double price;
    // 用户消费
    private UserConsume userConsume;

    // 无参构造
    public Package() {
    }

    // 有参构造
    public Package(double price) {
        this.price = price;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public UserConsume getUserConsume() {
        return userConsume;
    }

    public void setUserConsume(UserConsume userConsume) {
        this.userConsume = userConsume;
    }

    // 显示套餐信息抽象方法
    public abstract void show();
    // 电话卡绑定套餐抽象方法
    public abstract void addPackage(PhoneCard phoneCard,UserConsume userConsume);
    // 用户消费套餐抽象方法
    public abstract void consume(PhoneCard phoneCard,UserConsume userConsume,double type);
}
